home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
HAMRADIO
/
LOGBOOK.ZIP
/
DXCCUPDT.PRG
< prev
next >
Wrap
Text File
|
1987-07-16
|
5KB
|
165 lines
*DXCCUPDT AUTOMATICALLY UPDATES DXCC RECORDS FROM LOG DATABASE VER 860515
* PATCHED 870717
* DOES NOT RECOGNISE SEPARATE BANDS OR MODES
* (c) COPYRIGHT JOE KASSER G3ZCZ 1986
SELECT PRIMARY
USE &logbook INDEX &logbook
SELECT SECONDARY
USE &dxcc
DO WHILE .NOT. EOF
ERASE
? px
IF dstate = 'Q'
?? ' ',dcall,' ALREADY CONFIRMED IN DXCC RECORD'
ELSE
* NOT WORKED YET, SO TRY LOG FOR UPDATE'
STORE TRIM(px) TO prefix
SELECT PRIMARY
FIND &prefix
IF # = 0
* NO FIND, TRY ALTERNATE PREFIX
SELECT SECONDARY
IF $(px1,1,1) = ' '
* NO ALTERNATE PREFIX, GO TO NEXT PREFIX'
ELSE
STORE TRIM(px1) TO prefix
ERASE
? px1
SELECT PRIMARY
FIND &prefix
IF # = 0
*NO FIND AGAIN, GO TO NEXT PREFIX '
ELSE
* FOUND SOMETHING FOR PX1 '
STORE T TO qslflag
DO WHILE .NOT. EOF .AND. call = prefix .AND. qslflag
? call,date,time,band,qslsent,qslrx
IF qslrx = 'R'
STORE F TO qslflag
*FOUND A QSL'
ENDIF
SKIP
ENDDO
SKIP -1
SELECT SECONDARY
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
IF qslflag
REPLACE dstate WITH 'W'
ELSE
REPLACE dstate WITH 'Q'
ENDIF
ENDIF
ENDIF
ELSE
*FOUND SOMETHING FOR PX, see if its qsled'
STORE T TO qslflag
DO WHILE .NOT. EOF .AND. call = prefix .AND. QSLflag
? call,date,time,band,qslsent,qslrx
IF qslrx = 'R'
STORE F TO qslflag
*FOUND A QSL'
ENDIF
SKIP
ENDDO
SKIP -1
IF qslflag
*its not qsled, only worked '
* TRY ALTERNATE PREFIX
SELECT SECONDARY
IF $(px1,1,1) = ' '
* NO ALTERNATE PREFIX, GO BACK TO FIRST PREFIX'
STORE TRIM(px) TO prefix
SELECT PRIMARY
GOTO TOP
* PICK FIRST ONE
FIND &prefix
SELECT SECONDARY
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
REPLACE dstate WITH 'W'
ELSE
STORE TRIM(px1) TO prefix
ERASE
? px1
SELECT PRIMARY
FIND &prefix
IF # = 0
*NO FIND AGAIN, GO BACK TO FIRST PREFIX '
SELECT SECONDARY
STORE TRIM(px) TO prefix
SELECT PRIMARY
FIND &prefix
REPLACE dstate WITH 'W'
ELSE
* FOUND SOMETHING FOR PX1 '
STORE T TO qslflag
DO WHILE .NOT. EOF .AND. call = prefix .AND. qslflag
? call,date,time,band,qslsent,qslrx
IF qslrx = 'R'
STORE F TO qslflag
*FOUND A QSL
ENDIF
SKIP
ENDDO
SKIP -1
SELECT SECONDARY
IF qslflag
REPLACE dstate WITH 'W'
ELSE
REPLACE dstate WITH 'Q'
ENDIF
ENDIF
SELECT SECONDARY
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
ENDIF
ELSE
* PX IS QSLED, UPDATE DATA
SELECT SECONDARY
REPLACE dstate WITH 'Q'
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
ENDIF
ENDIF
ENDIF
SELECT SECONDARY
SKIP
ENDDO
SELECT SECONDARY
USE
SELECT PRIMARY
USE
RELEASE prefix,qslflag
RETURN
* NO FIND, TRY ALTERNATE PREFIX
SELECT SECONDARY
IF $(px1,1,1) = ' '
* NO ALTERNATE PREFIX, GO TO NEXT PREFIX'
ELSE
STORE TRIM(px1) TO prefix
ERASE
? px1
SELECT PRIMARY
FIND &prefix
IF # = 0
*NO FIND AGAIN, GO TO NEXT PREFIX '
ELSE
* FOUND SOMETHING FOR PX1 '
STORE T TO qslflag
DO WHILE .NOT. EO